import http from '@/utils/request'

/**
 * 根据不同的登录身份获取左侧菜单权限
 * @returns
 */

export const getMenuListApi = () => {
    return http('/menus', 'get')
}

/**
 * 获取管理员数据
 * @param {Number} pagenum 当前的页码
 * @param {Number} pagesize 每页显示的条数
 * @param {Number} query 要查询的参数，根据用户名进行模糊搜索
 * @returns
 */

export const getUserListApi = ({
    pagenum = 1,
    pagesize = 10,
    query = ''
}) => {
    return http('/users', 'get', {
        pagenum,
        pagesize,
        query
    })
}

/**
 * 修改管理员的登录状态
 * @param {Number} id 管理员id
 * @param {Boolean} type 修改后的状态
 * @returns
 */

export const changeUserMgStateApi = (id, type) => {
    return http(`/users/${id}/state/${type}`, 'put')
}

/**
 * 添加管理员
 * @param {String} username 用户名
 * @param {String} password 密码
 * @param {String} emial 邮箱
 * @param {Number} mobile 手机号码
 * @returns
 */

export const addUserApi = ({
    username,
    password,
    email,
    mobile
}) => {
    return http('/users', 'post', {
        username,
        password,
        email,
        mobile
    })
}

/**
 * 修改管理员
 * @param {Number} id 用户id
 * @param {String} emial 邮箱
 * @param {Number} mobile 手机号码
 * @returns
 */
export const editUserApi = ({
    id,
    email,
    mobile
}) => {
    return http(`/users/${id}`, 'put', {
        id,
        email,
        mobile
    })
}

/**
 * 删除单个用户
 * @param {Number} id 用户id
 * @returns
 */

export const delUserApi = id => {
    return http(`/users/${id}`, 'delete')
}

/**
 * 给用户分配角色
 * @param {Number} id 用户id
 * @param {Number} rid 角色id
 * @returns
 */

export const setUserRoleApi = ({
    id,
    rid
}) => {
    return http(`/users/${id}/role`, 'put', {
        id,
        rid
    })
}